/*
 * @Description: text
 * @LastEditors: 蔡霸霸
 * @LastEditTime: 2021-02-26 20:41:01
 */

export function getMyWebSocket (callback) {
  let myWebsocket = null
  myWebsocket = new WebSocket('ws://192.168.5.227:8099/ws')

  // 连接发生错误的回调方法
  myWebsocket.onerror = function () {
    console.log('WebSocket连接发生错误')
  }

  // 连接成功建立的回调方法
  myWebsocket.onopen = function () {
    console.log('WebSocket连接成功')
  }

  // 接收到消息的回调方法
  myWebsocket.onmessage = function (event) {
    if (typeof callback === 'function') {
      callback(event)
    }
  }

  // 连接关闭的回调方法
  myWebsocket.onclose = function () {
    console.log('webSocket连接关闭！')
  }

  // 监听窗口关闭事件，当窗口关闭时，主动去关闭websocket连接，防止连接还没断开就关闭窗口，server端会抛异常。
  window.onbeforeunload = function () {
    closeWebSocket()
  }

  // 关闭WebSocket连接
  function closeWebSocket () {
    myWebsocket.close()
  }
}
